package cn.tedu.mall.order.mapper;

import cn.tedu.mall.pojo.order.model.OmsCart;
import cn.tedu.mall.pojo.order.vo.CartStandardVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface OmsCartMapper {
    /**
     * 1.判断当前登录对象登录用户的购物车中是否包好指定的sku的方法
     * @param userId
     * @param skuId
     * @return
     */
    OmsCart selectExitsCart(@Param("userId")Long userId, @Param("skuId")Long skuId);

    /**
     * 2.保存到购物车的方法
     * @param omsCart
     */
    void saveCart(OmsCart omsCart);

    /**
     * 3.修改指定购物车信息数量的方法
     * @param omsCart
     */
    void updateQuantityById(OmsCart omsCart);

    /**
     * 根据用户id查询购物车列表
     * @param userId
     * @return 购物车列表
     */
    List<CartStandardVO> selectCartByUserId(Long userId);

    /**
     * 按id删除购物车商品(支持删除多个)
     * @param ids
     * @return
     */
    int deleteCartById(Long[] ids);

    /**
     * 清空购物车
     * @return
     */
    int deleteCartByUserId(Long userId);

    /**
     *  根据用户id和skuId删除购物车
     * @param omsCart
     */
    void deleteCartByUserIdAndSkuId(OmsCart omsCart);
}
